const isNum = function(rule, value, callback) {
  const age = /^[0-9]+([.]{1}[0-9]+){0,1}$/;
  if (value !== undefined && value !== "" && value !== null) {
    if (!age.test(value)) {
      callback(new Error("请输入数字"));
    } else {
      callback();
    }
  }
  callback();
};

let validatorPhone = (rule, value, callback) => {
  // 如果为空值，就抛出错误
  if (!value) {
    callback();
  } else {
    // 正则判断手机号格式的格式，正则判断失败抛出错误，否则直接callback()
    if (!/^1[2-9]\d{9}$/.test(value)) {
      callback(new Error("手机号格式不正确!"));
    } else {
      callback();
    }
  }
};

const isNumber = function(rule, value, callback) {
  // console.log(/^[0-9]*$/.test(value),1);
  if (!value) {
    callback();
  } else {
    if (!/^[0-9]*$/.test(value)) {
      callback(new Error("请输入整数!"));
    } else {
      callback();
    }
  }
  callback();
};

// 只能输入中文
const isChinaName = function(rule, value, callback) {
  const title = /[\u4e00-\u9fa5]/gm;
  if (!title.test(value)) {
    callback(new Error("请输入中文"));
  } else {
    callback();
  }
};

// 只能输入英文和数字
const isEngName = function(rule, value, callback) {
  const title = /[^\d|a-z|A-Z]/g;
  if (title.test(value)) {
    callback(new Error("请输入英文或数字"));
  } else {
    callback();
  }
};

export { isNum, validatorPhone, isNumber, isChinaName, isEngName };
